package com.ics.atable.chat.model.enums;

import lombok.Getter;

/**
 * embedding 类型枚举类
 *
 * @author haohongbin
 */
@Getter
public enum EmbeddingTypeEnum {
    /**
     * 指标
     */
    ITEM("item", "指标"),
    /**
     * 地址
     */
    ADDRESS("address", "地址"),
    /**
     * 其他
     */
    OTHER("other", "其他");

    private final String code;
    private final String info;

    EmbeddingTypeEnum(String code, String info) {
        this.code = code;
        this.info = info;
    }


    /**
     * 根据code获取枚举
     *
     * @param code 枚举code
     * @return 枚举
     */
    public static EmbeddingTypeEnum getByCode(String code) {
        for (EmbeddingTypeEnum value : values()) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }

    /**
     * 根据info获取枚举
     *
     * @param info 枚举info
     * @return 枚举
     */
    public static EmbeddingTypeEnum getByInfo(String info) {
        for (EmbeddingTypeEnum value : values()) {
            if (value.getInfo().equals(info)) {
                return value;
            }
        }
        return null;
    }
}
